package com.ht.pms.core.dto;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author 喻尊龙
 * @since 2018-12-25
 */
@ApiModel
@TableName("t_vocation_approve")
public class VocationApprove extends Model<VocationApprove> {

    private static final long serialVersionUID = 1L;

	@ApiModelProperty(required= true,value = "")
	private Integer id;
    /**
     * 申请编号
     */
	@TableField("approve_id")
	@ApiModelProperty(required= true,value = "申请编号")
	private String approveId;
    /**
     * 流程id
     */
	@TableField("process_id")
	@ApiModelProperty(required= true,value = "流程id")
	private String processId;
    /**
     * 用户id
     */
	@TableField("user_id")
	@ApiModelProperty(required= true,value = "用户id")
	private String userId;
    /**
     * 用户姓名
     */
	@TableField("user_name")
	@ApiModelProperty(required= true,value = "用户姓名")
	private String userName;


	/**
	 * 申请时间
	 */
	@TableField("approve_time")
	@ApiModelProperty(required= true,value = "申请时间")
	private Date approveTime;


    /**
     * 请假开始时间
     */
	@TableField("start_time")
	@ApiModelProperty(required= true,value = "请假开始时间")
	private Date startTime;
    /**
     * 请假结束时间
     */
	@TableField("end_time")
	@ApiModelProperty(required= true,value = "请假结束时间")
	private Date endTime;
    /**
     * 请假时长
     */
	@ApiModelProperty(required= true,value = "请假时长")
	private BigDecimal hours;

	/**
	 * 主体类型
	 */
	@TableField("company_type")
	@ApiModelProperty(required= true,value = "主体类型")
	private String companyType;

    /**
     * 创建时间
     */
	@TableField("create_time")
	@ApiModelProperty(required= true,value = "创建时间")
	private Date createTime;


	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getApproveId() {
		return approveId;
	}

	public void setApproveId(String approveId) {
		this.approveId = approveId;
	}

	public String getProcessId() {
		return processId;
	}

	public void setProcessId(String processId) {
		this.processId = processId;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public BigDecimal getHours() {
		return hours;
	}

	public void setHours(BigDecimal hours) {
		this.hours = hours;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getApproveTime() {
		return approveTime;
	}

	public void setApproveTime(Date approveTime) {
		this.approveTime = approveTime;
	}

	public String getCompanyType() {
		return companyType;
	}

	public void setCompanyType(String companyType) {
		this.companyType = companyType;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "VocationApprove{" +
				"id=" + id +
				", approveId='" + approveId + '\'' +
				", processId='" + processId + '\'' +
				", userId='" + userId + '\'' +
				", userName='" + userName + '\'' +
				", approveTime=" + approveTime +
				", startTime=" + startTime +
				", endTime=" + endTime +
				", hours=" + hours +
				", companyType='" + companyType + '\'' +
				", createTime=" + createTime +
				'}';
	}
}
